Computer programmers may utilize application programming interfaces (“APIs”) to write programs to perform various functions. The APIs may be provided by various third parties or other entities not under the control of the consumer of the API. Even when used to perform similar functions, the APIs provided by these entities may exhibit large or small variances in behavior. These idiosyncrasies may prevent one API from being easily substituted for another, even when the APIs otherwise perform identical functions.
One area in which this pattern may occur involves performing configuration tasks. An administrator or other user of a computing system may initiate various configuration tasks. When these tasks are executed on the computing system, APIs provided by various vendors may be used to perform the underlying configuration tasks. Because of differences in hardware configuration, operating systems and other factors, the APIs used may exhibit a wide variety of behaviors. As a result, it may be challenging for programmers to develop automated approaches to performing these administrative tasks.